package gybase04

class Man {
    def dream(){
        'i hava a dream!'
    }

    def  newDream(){

    }
}

def man = new Man()
def scanner = new Scanner(System.in)
Thread.start {
    println "进入了系统"
    while (true) {
        def msg = scanner.nextLine()
        if (msg == 'exit') {
            println "退出来系统"
            break
        }

        if (man.respondsTo(msg)) {
            println man."${msg}"()//调用方法可以这样写，更灵活，例如从后端输入一个指令，传入方法名 去调用对应的方法
        } else if (msg == 'newDream') {
            man.metaClass."$msg" {
                println "I hava i new dream"
            }

            man."${msg}"
        } else {
            println "没有该方法"
        }
    }
}

//进入了系统
//dream
//i hava a dream!
//newDream'
//没有该方法
//exit
//退出来系统